Puntatore: SUPER
Il SUPER
pointer è una variabile speciale che viene utilizzata per la programmazione orientata agli oggetti.
SUPER
è il puntatore di un blocco funzione all'istanza del blocco funzione di base da cui è stato generato il blocco funzione. Il SUPER
pointer consente inoltre di accedere all'implementazione dei metodi del blocco funzione di base (classe base). UN SUPER
il puntatore è automaticamente disponibile per ogni blocco funzione. Puoi usare SUPER
solo nei metodi e nelle implementazioni dei blocchi funzione associati.
Dereferenziazione del puntatore: SUPER^
Usando il SUPER
puntatore: Con il SUPER
parola chiave, si chiama un metodo valido nell'istanza della classe base o della classe genitore.
ST
SUPER^.METH_DoIt();
FBD/CFC/LD

Uso di SUPER
e THIS
puntatori
FUNCTION_BLOCK FB_Base VAR_OUTPUT iCnt : INT; END_VAR METHOD METH_DoIt : BOOL iCnt := -1; METHOD METH_DoAlso : BOOL METH_DoAlso := TRUE; FUNCTION_BLOCK FB_1 EXTENDS FB_Base VAR_OUTPUT iBase : INT; END_VAR THIS^.METH_DoIt(); //Call of the methods of FB_1 THIS^.METH_DoAlso(); SUPER^.METH_DoIt(); //Call of the methods of FB_Base SUPER^.METH_DoAlso(); iBase := SUPER^.iCnt; METHOD METH_DoIt : BOOL iCnt := 1111; METH_DoIt := TRUE; PROGRAM PLC_PRG VAR myBase : FB_Base; myFB_1 : FB_1; iTHIS : INT; iBase : INT; END_VAR myBase(); iBase := myBase.iCnt; myFB_1(); iTHIS := myFB_1.iCnt;
Suggerimento
THIS
non è ancora implementato per l'elenco di istruzioni (IL).